Uses natural language processing to predict the next word given a set of previously typed words by the user. Algorithm mainly uses the R package quanteda to do the following steps:
1. Take a random sample of lines from blogs, news articles, and Twitter posts.
2. Concatenate the samples and make tokens of the text.
3. Use the tokens to make ngrams with 3 elements.
4. Make a table of counts and frequencies of the ngrams.
5. Write the table to local disk as a CSV file and as a database to an Amazon cloud
project.
6. SmartType queries the cloud database, finds ngrams and returns the most
frequent one as a suggestion to the user.